if函数的问题,64<tfe<64.5 每高0.1+1.5

来源:百度知道 编辑:UC知道 时间:2024/06/02 13:09:16
1. 64<tfe<64.5 tfe每高0.1+1.5
2. 64.5<=tfe<65 tfe每高0.1+2(并累加1.)
3. 65<=tfe tfe每高0.1+3(并累加1.和2.)
4. 63.5<=tfe<64 tfe每低0.1-1
5. 63<tfe<63.5 tfe每低0.1-3(并累减4.)
6. 63<tfe tfe每低0.1-8(并累减4.和5.)
这个公式怎么写啊,是不是很麻烦。
我要制表的,是用来计算奖罚的。
以64为基准,高了奖,少了罚。

我的应该符合你的意思
double JiangFa(double tfe)
{
double rewards=0; //奖罚结果,用来返回。正数表示奖,负数表示罚
if(tfe>64)
{
if(tfe>=65) rewards+=((tfe-65)/0.1)*3+1.5*5+2*5;
else if(tfe>=64.5) rewards+=((tfe-64.5)/0.1)*2+1.5*5;
else rewards+=((tfe-64)/0.1)*1.5;
}
else if(tfe<64)
{
if(tfe<63) rewards+=((tfe-63)/0.1)*8-1*5-1*3;
else if(tfe<=63.5) rewards+=((tfe-63.5)/0.1)*3-1*5;
else rewards+=((tfe-64)/0.1)*1;
}
return rewards;
}

float high(float tfe) //float类型.
{
if(tfe>64)
if(tfe<64.5) tfe+=((64.5-tfe)/0.1)*1.5;
if(tfe<65) tfe+=((65-tfe)/0.1)*2;
if(tfe>=65) tfe+=((tfe-65)/0.1)*3; //可以累加
else if(tfe<64)
if(tfe>=63.5) tfe-=(64-tfe)/0.1;
if(tfe>63) tfe-=((63.5-tfe)/0.1)*3;
if(tfe<63) tfe-=((63-tfe)/0.1)*8; //这块估计是你写错了,我给你改过下了,应该是tfe<63
return tfe; //返回tfe的值
}
这个函数可以累加